package error

import (
	"goHelpers/app/error/common"
	"goHelpers/app/error/mysql"
	"goHelpers/app/error/user"
)

// 错误消息列表
var msgList map[int32]string

// NewError 错误消息
func NewError(errMsgType string) Error {
	// 获取错误消息
	msgList := GetMsgList(errMsgType)

	// 返回错误
	return &MyError{
		msgList: msgList,
	}
}

// GetErrorMessage 获取错误消息
func GetErrorMessage(errMsgType string, errorCode int32) string {
	// 获取错误消息
	msgList := GetMsgList(errMsgType)
	if message, ok := msgList[errorCode]; ok {
		return message
	}
	return "请求错误"
}

// GetMsgList 获取错误消息列表
func GetMsgList(errMsgType string) map[int32]string {
	// 处理错误
	switch errMsgType {
	case "user":
		msgList = user.ErrorMessageList()
	case "mysql":
		msgList = mysql.ErrorMessageList()
	default:
		msgList = common.ErrorMessageList()
	}
	return msgList
}
